package 算法.NiuKe.TB;

import 算法.NiuKe.TreeNode;

import java.util.Arrays;

/**
 * @author:谢君臣
 * @Date:2021/5/4-15:06
 * @version:1.0
 * @function:
 */
public class NC9 {
    public TreeNode reConstructBinaryTree(int [] pre, int [] in) {
        if (pre.length==0||in.length==0)
            return null;
        TreeNode root = new TreeNode(pre[0]);
        for (int i = 0; i < in.length; i++) {
            if (in[i]==pre[0]){
                root.left = reConstructBinaryTree(Arrays.copyOfRange(pre,1,i+1),Arrays.copyOfRange(in,0,i));
                root.right = reConstructBinaryTree(Arrays.copyOfRange(pre,i+1,pre.length),Arrays.copyOfRange(in,i+1,in.length));
            }
        }
        return root;
    }
}
